package com.bill99.codecheck.sonar.orm.manager.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.bill99.codecheck.sonar.orm.dao.ElmIbatisDao;
import com.bill99.codecheck.sonar.orm.entity.RnmItem;
import com.bill99.codecheck.sonar.orm.manager.ElmMng;

public class ElmMngImpl implements ElmMng {

	private ElmIbatisDao elmIbatisDao;

	public void setElmIbatisDao(ElmIbatisDao elmIbatisDao) {
		this.elmIbatisDao = elmIbatisDao;
	}

	@Override
	public Map<String, List<RnmItem>> findRnmItems() {
		Map<String, List<RnmItem>> rnmItemMap = new HashMap<String, List<RnmItem>>();
		List<RnmItem> rnmItems = elmIbatisDao.findRnmItems();
		String rnmItemKey = null;
		List<RnmItem> rnmItemValues = null;
		for (RnmItem rnmItem : rnmItems) {
			if (!rnmItem.getFilePath().endsWith(".java")) {
				continue;
			}
			rnmItemKey = rnmItem.getAuthor();
			rnmItemValues = rnmItemMap.get(rnmItemKey);
			if (rnmItemValues == null) {
				rnmItemValues = new ArrayList<RnmItem>();
			}
			rnmItemValues.add(rnmItem);
			rnmItemMap.put(rnmItemKey, rnmItemValues);
		}
		return rnmItemMap;
	}
}
